[INFO] cloning repository https://github.com/kstonekuan/webskills
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kstonekuan/webskills" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkstonekuan%2Fwebskills", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkstonekuan%2Fwebskills'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 82825f82fc9736c741e392e6275fec867c8816b7
[INFO] testing kstonekuan/webskills against master#f9988fefd3add01f414f52b414308e7872622fee for pr-155114
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkstonekuan%2Fwebskills" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kstonekuan/webskills
[INFO] finished tweaking git repo https://github.com/kstonekuan/webskills
[INFO] tweaked toml for git repo https://github.com/kstonekuan/webskills written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kstonekuan/webskills on toolchain f9988fefd3add01f414f52b414308e7872622fee
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kstonekuan/webskills already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.63
[INFO] [stderr]   Downloaded web_atoms v0.2.3
[INFO] [stderr]   Downloaded ego-tree v0.10.0
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.113
[INFO] [stderr]   Downloaded utf8-width v0.1.8
[INFO] [stderr]   Downloaded flagset v0.4.7
[INFO] [stderr]   Downloaded markup5ever v0.36.1
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.113
[INFO] [stderr]   Downloaded markup5ever_rcdom v0.3.0
[INFO] [stderr]   Downloaded selectors v0.35.0
[INFO] [stderr]   Downloaded scraper v0.25.0
[INFO] [stderr]   Downloaded selectors v0.33.0
[INFO] [stderr]   Downloaded xml5ever v0.18.1
[INFO] [stderr]   Downloaded html5ever v0.36.1
[INFO] [stderr]   Downloaded dom_smoothie v0.15.0
[INFO] [stderr]   Downloaded html2md v0.2.15
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.113
[INFO] [stderr]   Downloaded dom_query v0.25.1
[INFO] [stderr]   Downloaded js-sys v0.3.90
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.113
[INFO] [stderr]   Downloaded aws-lc-rs v1.16.0
[INFO] [stderr]   Downloaded web-sys v0.3.90
[INFO] [stderr]   Downloaded gjson v0.8.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d706f3e0952c6c6dfdaba5b9ff60eb7a4f6ea0ed6335325e7e314c738105e766
[INFO] running `Command { std: "docker" "start" "-a" "d706f3e0952c6c6dfdaba5b9ff60eb7a4f6ea0ed6335325e7e314c738105e766", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d706f3e0952c6c6dfdaba5b9ff60eb7a4f6ea0ed6335325e7e314c738105e766", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d706f3e0952c6c6dfdaba5b9ff60eb7a4f6ea0ed6335325e7e314c738105e766", kill_on_drop: false }`
[INFO] [stdout] d706f3e0952c6c6dfdaba5b9ff60eb7a4f6ea0ed6335325e7e314c738105e766
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0bc361417d1d439c6691245987b2c06d8cd1919e46a73f15fdc8c218c9ec6b42
[INFO] running `Command { std: "docker" "start" "-a" "0bc361417d1d439c6691245987b2c06d8cd1919e46a73f15fdc8c218c9ec6b42", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling siphasher v1.0.2
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling mac v0.1.1
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling aws-lc-rs v1.16.0
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling dtoa v1.0.11
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling futf v0.1.5
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling servo_arc v0.4.3
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling tendril v0.4.3
[INFO] [stderr]    Compiling dtoa-short v0.3.5
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling phf_shared v0.13.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling nom v8.0.0
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling utf8-width v0.1.8
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling string_cache_codegen v0.5.4
[INFO] [stderr]    Compiling phf_generator v0.13.1
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling html-escape v0.2.13
[INFO] [stderr]    Compiling getopts v0.2.24
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling phf_codegen v0.13.1
[INFO] [stderr]    Compiling string_cache_codegen v0.6.1
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling selectors v0.35.0
[INFO] [stderr]    Compiling selectors v0.33.0
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling markup5ever v0.12.1
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling compression-codecs v0.4.37
[INFO] [stderr]    Compiling web_atoms v0.2.3
[INFO] [stderr]    Compiling flagset v0.4.7
[INFO] [stderr]    Compiling ego-tree v0.10.0
[INFO] [stderr]    Compiling gjson v0.8.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling string_cache v0.9.0
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling cmake v0.1.57
[INFO] [stderr]    Compiling aws-lc-sys v0.37.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling phf_macros v0.13.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling cssparser-macros v0.6.1
[INFO] [stderr]    Compiling html5ever v0.27.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling phf v0.13.1
[INFO] [stderr]    Compiling cssparser v0.36.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling async-compression v0.4.41
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling markup5ever v0.36.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling html5ever v0.36.1
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling dom_query v0.25.1
[INFO] [stderr]    Compiling scraper v0.25.0
[INFO] [stderr]    Compiling string_cache v0.8.9
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling dom_smoothie v0.15.0
[INFO] [stderr]    Compiling xml5ever v0.18.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling markup5ever_rcdom v0.3.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling html2md v0.2.15
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.6.2
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.13.2
[INFO] [stderr]    Compiling webskills v0.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 06s
[INFO] running `Command { std: "docker" "inspect" "0bc361417d1d439c6691245987b2c06d8cd1919e46a73f15fdc8c218c9ec6b42", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0bc361417d1d439c6691245987b2c06d8cd1919e46a73f15fdc8c218c9ec6b42", kill_on_drop: false }`
[INFO] [stdout] 0bc361417d1d439c6691245987b2c06d8cd1919e46a73f15fdc8c218c9ec6b42
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 220e827bc0e2e0b445d98b80cc91c862f30ac547057ce67c366f727340165361
[INFO] running `Command { std: "docker" "start" "-a" "220e827bc0e2e0b445d98b80cc91c862f30ac547057ce67c366f727340165361", kill_on_drop: false }`
[INFO] [stderr]    Compiling webskills v0.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 4.00s
[INFO] running `Command { std: "docker" "inspect" "220e827bc0e2e0b445d98b80cc91c862f30ac547057ce67c366f727340165361", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "220e827bc0e2e0b445d98b80cc91c862f30ac547057ce67c366f727340165361", kill_on_drop: false }`
[INFO] [stdout] 220e827bc0e2e0b445d98b80cc91c862f30ac547057ce67c366f727340165361
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 31f3ba4ed5e5845928abc0e10746af93b25d0b85b352ce6ec39f36bdf7635b4c
[INFO] running `Command { std: "docker" "start" "-a" "31f3ba4ed5e5845928abc0e10746af93b25d0b85b352ce6ec39f36bdf7635b4c", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.38s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/webskills_core-deaab849d69b3dbc)
[INFO] [stdout] 
[INFO] [stdout] running 44 tests
[INFO] [stdout] test tests::build_explicit_markdown_candidate_urls_for_directory_path_stay_within_target_scope ... ok
[INFO] [stdout] test tests::build_origin_url_keeps_non_default_port ... ok
[INFO] [stdout] test tests::build_explicit_markdown_candidate_urls_for_root_level_leaf_path_skip_site_wide_fallback ... ok
[INFO] [stdout] test tests::build_same_origin_url_replaces_path_and_clears_query ... ok
[INFO] [stdout] test tests::build_skill_trigger_description_includes_host_and_usage_language ... ok
[INFO] [stdout] test tests::build_explicit_markdown_candidate_urls_for_file_path_use_parent_directory ... ok
[INFO] [stdout] test tests::build_explicit_markdown_candidate_urls_for_root_path_use_origin_only ... ok
[INFO] [stdout] test tests::build_skill_markdown_document_matches_golden_output ... ok
[INFO] [stdout] test tests::derive_versioned_skill_directory_name_uses_hash_prefix ... ok
[INFO] [stdout] test tests::derive_stable_skill_slug_uses_url_when_name_not_provided ... ok
[INFO] [stdout] test tests::append_markdown_instruction_section_normalizes_existing_list_markers ... ok
[INFO] [stdout] test tests::explicit_instruction_heuristic_accepts_numbered_steps ... ok
[INFO] [stdout] test tests::extract_discovered_links_from_markdown_document_collects_normalized_urls ... ok
[INFO] [stdout] test tests::derive_skill_description_prefers_descriptive_sanitized_line ... ok
[INFO] [stdout] test tests::extract_discovered_command_lines_reads_fenced_shell_blocks ... ok
[INFO] [stdout] test tests::discovered_commands_are_sorted_and_unique ... ok
[INFO] [stdout] test tests::explicit_instruction_heuristic_accepts_action_prefixes ... ok
[INFO] [stdout] test tests::extract_explicit_instruction_lines_uses_fallback_excerpt_when_no_instructions ... ok
[INFO] [stdout] test tests::derive_skill_description_strips_markdown_heading_and_frontmatter_prefixes ... ok
[INFO] [stdout] test tests::derive_skill_description_truncates_long_values ... ok
[INFO] [stdout] test tests::extracted_source_excerpts_skip_headings ... ok
[INFO] [stdout] test tests::explicit_instruction_heuristic_rejects_generic_statements ... ok
[INFO] [stdout] test tests::extracted_instruction_lines_include_all_matches ... ok
[INFO] [stdout] test tests::html_detection_identifies_doctype_and_html_tag ... ok
[INFO] [stdout] test tests::normalize_discovered_link_ignores_non_http_schemes ... ok
[INFO] [stdout] test tests::markdown_content_type_detection_identifies_markdown_variants ... ok
[INFO] [stdout] test tests::normalize_discovered_link_removes_fragments ... ok
[INFO] [stdout] test tests::normalize_discovered_link_handles_relative_paths ... ok
[INFO] [stdout] test tests::sanitize_skill_name_normalizes_mixed_characters ... ok
[INFO] [stdout] test tests::truncate_to_maximum_character_count_appends_ellipsis ... ok
[INFO] [stdout] test tests::normalize_extracted_absolute_url_for_listing_trims_unbalanced_parentheses_and_punctuation ... ok
[INFO] [stdout] test tests::sanitize_final_response_url_for_persistence_strips_query_and_fragment_but_preserves_path_and_port ... ok
[INFO] [stdout] test tests::is_command_like_line_rejects_comment_lines ... ok
[INFO] [stdout] test tests::html_conversion_prioritizes_article_content_when_available ... ok
[INFO] [stdout] test tests::normalize_markdown_for_deterministic_storage_trims_and_normalizes_line_endings ... ok
[INFO] [stdout] test tests::pipeline_stage_serialization_values_match_expected_contract ... ok
[INFO] [stdout] test tests::primary_content_fragment_extraction_prefers_article_over_navigation ... ok
[INFO] [stdout] test tests::versioned_directory_name_contains_slug_and_prefix ... ok
[INFO] [stdout] test tests::dom_smoothie_markdown_extraction_prefers_article_text ... ok
[INFO] [stdout] test tests::convert_fetched_document_to_markdown_converts_html_content ... ok
[INFO] [stdout] test tests::extract_structured_sections_uses_hostname_in_fallback_description ... ok
[INFO] [stdout] test tests::discovered_api_usage_is_sorted_and_unique ... ok
[INFO] [stdout] test tests::extract_discovered_api_usage_lines_preserves_balanced_parenthesized_urls ... ok
[INFO] [stdout] test tests::extract_discovered_api_usage_lines_finds_http_methods_and_urls ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 44 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/webskills-f7b795cc8de6a540)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test tests::normalize_skill_source_for_skills_add_keeps_nonexistent_relative_source_unchanged ... ok
[INFO] [stdout] test tests::add_command_parsing_accepts_parity_and_webskills_flags ... ok
[INFO] [stdout] test tests::interactive_mode_validation_allows_non_tty_with_yes ... ok
[INFO] [stdout] test tests::builds_skills_add_command_arguments_preserve_user_visible_flags ... ok
[INFO] [stdout] test tests::builds_skills_add_command_arguments_with_absolute_path_for_existing_local_source ... FAILED
[INFO] [stdout] test tests::interactive_mode_validation_rejects_non_tty_without_yes ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::builds_skills_add_command_arguments_with_absolute_path_for_existing_local_source stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::builds_skills_add_command_arguments_with_absolute_path_for_existing_local_source' (64) panicked at src/main.rs:426:14:
[INFO] [stdout] expected local skill directory to be created: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x62436709943a - std[1209cfb42f6d497f]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x62436709943a - std[1209cfb42f6d497f]::backtrace_rs::backtrace::trace_unsynchronized::<std[1209cfb42f6d497f]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x62436709943a - std[1209cfb42f6d497f]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x62436709943a - <<std[1209cfb42f6d497f]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[4a92201981c6b77a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6243670adeaa - <core[4a92201981c6b77a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6243670adeaa - core[4a92201981c6b77a]::fmt::write
[INFO] [stdout]    6:     0x62436709e1f2 - std[1209cfb42f6d497f]::io::default_write_fmt::<alloc[420bb310a727dfd7]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x62436709e1f2 - <alloc[420bb310a727dfd7]::vec::Vec<u8> as std[1209cfb42f6d497f]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x624367076aef - <std[1209cfb42f6d497f]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x624367076aef - std[1209cfb42f6d497f]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6243670911e9 - std[1209cfb42f6d497f]::panicking::default_hook
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x624366f461ec - <alloc[420bb310a727dfd7]::boxed::Box<dyn for<'a, 'b> core[4a92201981c6b77a]::ops::function::Fn<(&'a std[1209cfb42f6d497f]::panic::PanicHookInfo<'b>,), Output = ()> + core[4a92201981c6b77a]::marker::Sync + core[4a92201981c6b77a]::marker::Send> as core[4a92201981c6b77a]::ops::function::Fn<(&std[1209cfb42f6d497f]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x624366f461ec - test[59e67a9bc0e119f1]::test_main_inner::<test[59e67a9bc0e119f1]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x6243670913a2 - <alloc[420bb310a727dfd7]::boxed::Box<dyn for<'a, 'b> core[4a92201981c6b77a]::ops::function::Fn<(&'a std[1209cfb42f6d497f]::panic::PanicHookInfo<'b>,), Output = ()> + core[4a92201981c6b77a]::marker::Sync + core[4a92201981c6b77a]::marker::Send> as core[4a92201981c6b77a]::ops::function::Fn<(&std[1209cfb42f6d497f]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x6243670913a2 - std[1209cfb42f6d497f]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x624367076ba8 - std[1209cfb42f6d497f]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x62436706b779 - std[1209cfb42f6d497f]::sys::backtrace::__rust_end_short_backtrace::<std[1209cfb42f6d497f]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6243670779ad - __rustc[4effac393e9f3da6]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6243670ae63c - core[4a92201981c6b77a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6243670ae3b2 - core[4a92201981c6b77a]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x624366f3657c - <core[4a92201981c6b77a]::result::Result<(), std[1209cfb42f6d497f]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x624366f2fd9d - webskills[caaf4cc932a03b07]::tests::builds_skills_add_command_arguments_with_absolute_path_for_existing_local_source
[INFO] [stdout]                                at /opt/rustwide/workdir/src/main.rs:426:14
[INFO] [stdout]   22:     0x624366f2d377 - webskills[caaf4cc932a03b07]::tests::builds_skills_add_command_arguments_with_absolute_path_for_existing_local_source::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/main.rs:418:90
[INFO] [stdout]   23:     0x624366f21136 - <webskills[caaf4cc932a03b07]::tests::builds_skills_add_command_arguments_with_absolute_path_for_existing_local_source::{closure#0} as core[4a92201981c6b77a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x624366f394cb - <fn() -> core[4a92201981c6b77a]::result::Result<(), alloc[420bb310a727dfd7]::string::String> as core[4a92201981c6b77a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x624366f394cb - test[59e67a9bc0e119f1]::__rust_begin_short_backtrace::<core[4a92201981c6b77a]::result::Result<(), alloc[420bb310a727dfd7]::string::String>, fn() -> core[4a92201981c6b77a]::result::Result<(), alloc[420bb310a727dfd7]::string::String>>
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x624366f46cbb - test[59e67a9bc0e119f1]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x624366f46cbb - <core[4a92201981c6b77a]::panic::unwind_safe::AssertUnwindSafe<test[59e67a9bc0e119f1]::run_test_in_process::{closure#0}> as core[4a92201981c6b77a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x624366f46cbb - std[1209cfb42f6d497f]::panicking::catch_unwind::do_call::<core[4a92201981c6b77a]::panic::unwind_safe::AssertUnwindSafe<test[59e67a9bc0e119f1]::run_test_in_process::{closure#0}>, core[4a92201981c6b77a]::result::Result<(), alloc[420bb310a727dfd7]::string::String>>
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x624366f46cbb - std[1209cfb42f6d497f]::panicking::catch_unwind::<core[4a92201981c6b77a]::result::Result<(), alloc[420bb310a727dfd7]::string::String>, core[4a92201981c6b77a]::panic::unwind_safe::AssertUnwindSafe<test[59e67a9bc0e119f1]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x624366f46cbb - std[1209cfb42f6d497f]::panic::catch_unwind::<core[4a92201981c6b77a]::panic::unwind_safe::AssertUnwindSafe<test[59e67a9bc0e119f1]::run_test_in_process::{closure#0}>, core[4a92201981c6b77a]::result::Result<(), alloc[420bb310a727dfd7]::string::String>>
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x624366f46cbb - test[59e67a9bc0e119f1]::run_test_in_process
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x624366f46cbb - test[59e67a9bc0e119f1]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x624366f403d4 - test[59e67a9bc0e119f1]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x624366f403d4 - std[1209cfb42f6d497f]::sys::backtrace::__rust_begin_short_backtrace::<test[59e67a9bc0e119f1]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x624366f498c2 - std[1209cfb42f6d497f]::thread::lifecycle::spawn_unchecked::<test[59e67a9bc0e119f1]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x624366f498c2 - <core[4a92201981c6b77a]::panic::unwind_safe::AssertUnwindSafe<std[1209cfb42f6d497f]::thread::lifecycle::spawn_unchecked<test[59e67a9bc0e119f1]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[4a92201981c6b77a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x624366f498c2 - std[1209cfb42f6d497f]::panicking::catch_unwind::do_call::<core[4a92201981c6b77a]::panic::unwind_safe::AssertUnwindSafe<std[1209cfb42f6d497f]::thread::lifecycle::spawn_unchecked<test[59e67a9bc0e119f1]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x624366f498c2 - std[1209cfb42f6d497f]::panicking::catch_unwind::<(), core[4a92201981c6b77a]::panic::unwind_safe::AssertUnwindSafe<std[1209cfb42f6d497f]::thread::lifecycle::spawn_unchecked<test[59e67a9bc0e119f1]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x624366f498c2 - std[1209cfb42f6d497f]::panic::catch_unwind::<core[4a92201981c6b77a]::panic::unwind_safe::AssertUnwindSafe<std[1209cfb42f6d497f]::thread::lifecycle::spawn_unchecked<test[59e67a9bc0e119f1]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x624366f498c2 - std[1209cfb42f6d497f]::thread::lifecycle::spawn_unchecked::<test[59e67a9bc0e119f1]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x624366f498c2 - <std[1209cfb42f6d497f]::thread::lifecycle::spawn_unchecked<test[59e67a9bc0e119f1]::run_test::{closure#1}, ()>::{closure#1} as core[4a92201981c6b77a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x624367098d4f - <alloc[420bb310a727dfd7]::boxed::Box<dyn core[4a92201981c6b77a]::ops::function::FnOnce<(), Output = ()> + core[4a92201981c6b77a]::marker::Send> as core[4a92201981c6b77a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x624367098d4f - <std[1209cfb42f6d497f]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x7e281c5f5aa4 - <unknown>
[INFO] [stdout]   45:     0x7e281c682a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::builds_skills_add_command_arguments_with_absolute_path_for_existing_local_source
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 5 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.34s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin webskills`
[INFO] running `Command { std: "docker" "inspect" "31f3ba4ed5e5845928abc0e10746af93b25d0b85b352ce6ec39f36bdf7635b4c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "31f3ba4ed5e5845928abc0e10746af93b25d0b85b352ce6ec39f36bdf7635b4c", kill_on_drop: false }`
[INFO] [stdout] 31f3ba4ed5e5845928abc0e10746af93b25d0b85b352ce6ec39f36bdf7635b4c
